#ifndef DATABASE_H
#define DATABASE_H

#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QCryptographicHash>
#include <QDebug>

class Database : public QObject
{
    Q_OBJECT
    Q_DISABLE_COPY(Database)

public:
    static Database* getInstance();

    bool initDatabase();
    bool addUser(const QString &username, const QString &password);
    bool verifyUser(const QString &username, const QString &password);
    void showAll();
private:
    explicit Database(QObject *parent = nullptr);
    ~Database();

    static Database* instance;
    QSqlDatabase m_db;
    QString hashPassword(const QString &password);
};

#endif // DATABASE_H
